home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xa;
-
- import com.extensibility.app.BaseUndoable;
- import com.extensibility.app.BaseWindow;
- import com.extensibility.app.DialogFactory;
- import com.extensibility.app.UI;
- import com.extensibility.rock.Platform;
- import java.awt.Component;
- import java.io.StringWriter;
-
- public class FilePane$SourceReparseUndoable extends BaseUndoable {
- // $FF: synthetic field
- final FilePane this$0;
- StringWriter oldWriter;
- String oldText;
- boolean oldDirty;
-
- public FilePane$SourceReparseUndoable(FilePane var1, BaseWindow var2) {
- super(var2);
- this.this$0 = var1;
- }
-
- public void undo() {
- super.undo();
- this.this$0.getSourceText().getDocument().removeUndoableEditListener(this.this$0.undoListener);
-
- try {
- this.this$0.ignoreMyCommitPending = true;
- this.this$0.getSchemaDoc().commitPendingEdits(false);
- this.this$0.ignoreMyCommitPending = false;
- this.this$0.getSchemaDoc().reparse(this.this$0.uri, this.oldWriter.toString());
- if (this.this$0.getSchemaDoc().getParseErrors().size() > 0) {
- XADesktop.createErrorWindow(this.this$0.getSchemaDoc());
- } else {
- DialogFactory.note((Component)null, UI.getString("dialog.parsedOk"));
- }
-
- int var1 = this.this$0.getSourceText().getSelectionStart();
- this.this$0.getSourceText().setText(this.oldText);
- var1 = Math.min(var1, this.this$0.getSourceText().getText().length());
- this.this$0.getSourceText().select(var1, var1);
- this.this$0.checkJDKBug();
- this.this$0.setDirty(this.oldDirty);
- } catch (Exception var6) {
- DialogFactory.showException(((BaseUndoable)this).getWindow(), 123, var6);
- } finally {
- ;
- }
-
- this.this$0.getSourceText().getDocument().addUndoableEditListener(this.this$0.undoListener);
- ((BaseSourcePane.SourceUndoManager)this.this$0.getUndoManager()).trimAllExceptFirst();
- }
-
- public void doCommand() {
- this.this$0.getSourceText().getDocument().removeUndoableEditListener(this.this$0.undoListener);
-
- try {
- this.oldWriter = Platform.getTextAreaStringWriter();
- this.this$0.getSchemaDoc().write(this.oldWriter, this.this$0.uri);
- this.oldText = new String(this.this$0.getSourceText().getText());
- this.oldDirty = this.this$0.isDirty();
- this.this$0.ignoreMyCommitPending = true;
- this.this$0.getSchemaDoc().commitPendingEdits(false);
- this.this$0.ignoreMyCommitPending = false;
- this.this$0.getSchemaDoc().reparse(this.this$0.uri, this.this$0.getSourceText().getText());
- if (this.this$0.getSchemaDoc().getParseErrors().size() > 0) {
- XADesktop.createErrorWindow(this.this$0.getSchemaDoc());
- } else {
- DialogFactory.note((Component)null, UI.getString("dialog.parsedOk"));
- }
-
- this.this$0.setDirty(false);
- this.this$0.getSchemaDoc().touch(this.this$0.uri);
- } catch (Exception var2) {
- DialogFactory.showException(((BaseUndoable)this).getWindow(), 123, var2);
- }
-
- this.this$0.getSourceText().getDocument().addUndoableEditListener(this.this$0.undoListener);
- }
-
- public void redo() {
- super.redo();
- this.doCommand();
- ((BaseSourcePane.SourceUndoManager)this.this$0.getUndoManager()).trimAllExceptFirst();
- }
-
- public String getPresentationName() {
- return UI.getString("undo.reparse");
- }
- }
-